// 导入所有组件
import Button from './Button'
import Catalog from './Catalog'

// 导入工具模块
import { request, Request } from '../utils'

// 所有组件列表
const components = [
  Button,
  Catalog
]

// 定义 install 方法，用于全局注册所有组件
const install = (app) => {
  components.forEach(component => {
    app.component(component.name || component.__name, component)
  })
  
  // 将请求工具挂载到全局属性
  app.config.globalProperties.$request = request
}

// 创建组件库对象
const NbUI = {
  install,
  Button,
  Catalog,
  request,
  Request
}

// 导出组件库（默认导出）
export default NbUI

// 导出单个组件和工具（按需引入）
export {
  Button,
  Catalog,
  request,
  Request
}

